/*
 * Powered By 
 * Since 2010 - 2016
 */

package com.rf.sys.service;

import java.util.List;
import java.util.Map;

import com.rf.sys.model.User;
import com.rf.sys.utils.PageUtils;

public interface UserService{
	
	/**
	 * 根据id获取数据
	 * @param userId
	 * @return User
	 */
	public User getUserByID(String id) throws Exception;
	
	/**
	 * 根据User获取数据
	 * @param User
	 * @return List<User>
	 */
	public List<User> getUser(User user) throws Exception;
	
	/**
	 * 根据User获取数据用于验证账号是否重复
	 * @param User
	 * @return List<User>
	 */
	public List<User> getUserRepeat(User user) throws Exception;
	
	/**
	 * 获取所有数据
	 * @param 
	 * @return List<User>
	 */
	public List<User> getUser() throws Exception;
	
	/**
	 * 获取用户是否有管理员角色
	 * @param 
	 * @return List<User>
	 */
	public boolean getUserIsAdmin(String userId) throws Exception;
	
	/**
	 * 保存信息
	 * @param User
	 * @return
	 */
	public void addUser(User user) throws Exception;
	
	/**
	 * 修改数据
	 * @param User
	 * @param
	 */
	public void updateUser(User user) throws Exception;
	
	/**
	 * 删除数据
	 * @param userId
	 * @param
	 */
	public void deleteUser(String id) throws Exception;
	
	/**
	 * 删除数据
	 * @param userId
	 * @param
	 */
	public void deleteUserState(String ids) throws Exception;
	
	/**
	 * 分配角色
	 * @param userId
	 * @param roleid
	 * @param
	 */
	public void allot(String userid,String roleid) throws Exception;
	
	/**
	 * 获取数据分页
	 * @param User 
	 * @param limit
	 * @param offset
	 * @return Map
	 */
	public Map getUserPage(User user, PageUtils pageUtils) throws Exception;
}
